/* declarations */
typedef struct { float real, imag; } complex;
typedef struct { double dreal, dimag; } dcomplex;

/* prototypes */
void s_rnge(char *varn, long int offset, char *procn, int line);
void abort_(void);
void getarg_(long int *n, char *s, long int ls);
long int iargc_(void);
void (*signal_(int *sigp, void (**procp)(int)))(int);
void s_stop(char *s, long int n);
void f_exit(void);
void s_paus(char *s, long int n);
void pow_ci(complex *p, complex *a, long int *b);
void pow_zi(dcomplex *p, dcomplex *a, long int *b);
double pow_dd(double *ap, double *bp);
double pow_di(double *ap, long int *bp);
short pow_hh(short *ap, short *bp);
long int pow_ii(long int *ap, long int *bp);
float pow_ri(float *ap, long int *bp);
void z_div(dcomplex *c, dcomplex *a, dcomplex *b);
void pow_zz(dcomplex *r,dcomplex *a,dcomplex *b);
float c_abs(complex *z);
void c_cos(complex *r, complex *z);
void c_div(complex *c, complex *a, complex *b);
void c_exp(complex *r, complex *z);
void c_log(complex *r, complex *z);
void c_sin(complex *r, complex *z);
void c_sqrt(complex *r, complex *z);
double z_abs(dcomplex *z);
void z_cos(dcomplex *r, dcomplex *z);
void z_exp(dcomplex *r, dcomplex *z);
void z_log(dcomplex *r, dcomplex *z);
void z_sin(dcomplex *r, dcomplex *z);
void z_sqrt(dcomplex *r, dcomplex *z);
double r_abs(float *x);
double r_acos(float *x);
double r_asin(float *x);
double r_atan(float *x);
double r_atn2(float *x,float *y);
void r_cnjg(complex *r, complex *z);
double r_cos(float *x);
double r_cosh(float *x);
double r_dim(float *a,float *b);
double r_exp(float *x);
double r_imag(complex *z);
double r_int(float *x);
double r_lg10(float *x);
double r_log(float *x);
double r_mod(float *x,float *y);
double r_nint(float *x);
double r_sign(float *a,float *b);
double r_sin(float *x);
double r_sinh(float *x);
double r_sqrt(float *x);
double r_tan(float *x);
double r_tanh(float *x);
double d_abs(double *x);
double d_acos(double *x);
double d_asin(double *x);
double d_atan(double *x);
double d_atn2(double *x,double *y);
void d_cnjg(dcomplex *r, dcomplex *z);
double d_cos(double *x);
double d_cosh(double *x);
double d_dim(double *a,double *b);
double derf_(double *x);
double derfc_(double *x);
double d_exp(double *x);
double d_imag(dcomplex *z);
double d_int(double *x);
double d_lg10(double *x);
double d_log(double *x);
double d_mod(double *x,double *y);
double d_nint(double *x);
double d_prod(float *x,float *y);
double d_sign(double *a,double *b);
double d_sin(double *x);
double d_sinh(double *x);
double d_sqrt(double *x);
double d_tan(double *x);
double d_tanh(double *x);
long int i_abs(long int *x);
long int i_dim(long int *a,long int *b);
long int i_dnnt(double *x);
long int i_indx(char *a, char *b, long int la, long int lb);
long int i_len(char *s, long int n);
long int i_mod(long int *a,long int *b);
long int i_nint(float *x);
long int i_sign(long int *a,long int *b);
short h_abs(short *x);
short h_dim(short *a,short *b);
short h_dnnt(double *x);
short h_indx(char *a, char *b, long int la, long int lb);
short h_len(char *s, long int n);
short h_mod(short *a,short *b);
short h_nint(float *x);
short h_sign(short *a,short *b);
long int l_ge(char *a,char *b,long int la,long int lb);
long int l_gt(char *a,char *b,long int la,long int lb);
long int l_le(char *a,char *b,long int la,long int lb);
long int l_lt(char *a,char *b,long int la,long int lb);
int s_cmp(char *a, char *b, long int la, long int lb);
short hl_ge(char *a,char *b,long int la,long int lb);
short hl_gt(char *a,char *b,long int la,long int lb);
short hl_le(char *a,char *b,long int la,long int lb);
short hl_lt(char *a,char *b,long int la,long int lb);
void s_cat(char *lp, char *rpp[], long int rnp[], long int *np, long int ll);
void s_copy(char *a, char *b, long int la, long int lb);
double fcabs(double real, double imag);



